package com.kerrykidz.authority.service;

import java.util.List;
import org.apache.ibatis.annotations.Param;

import com.kerrykidz.authority.dao.model.GblSecBranEntity;
import com.kerrykidz.authority.dao.model.SecObj2usrEntity;
import com.kerrykidz.authority.dao.model.SecUsrEntity;
import com.rdp.framework.exception.RDPException;
/**
 * 
 * @ClassName: IAuUserService 
 * @description: 用户操作
 * @author: wolf-yansl 
 * @date: 2014年9月18日 下午6:10:47 
 * @version: V1.0
 *
 */
public interface IAuUserService {
	/***
	 *  user对象查询   等条件查询
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月19日
	 */
	public SecUsrEntity findByUserEntity(SecUsrEntity user)throws RDPException;
	/***
	 *   模糊条件查询用户信息
	 * @param entity
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月18日
	 */
	public List<SecUsrEntity> findLikeUser(SecUsrEntity entity)throws RDPException;
	
	/***
	 *  查询指定用户
	 * @param pkUsrId
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月18日
	 */
	public SecUsrEntity findByUserId(String pkUsrId)throws RDPException;
	
	/**
	 *  查询所有分店数据
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月18日
	 */
	public List<GblSecBranEntity> findGblSecBranAll()throws RDPException;
	
	/**
	 *  添加用户
	 * @param entity
	 * @throws RDPException
	 * @date: 2014年9月18日
	 */
	public void  savetUser(SecUsrEntity entity)throws RDPException;
	
	/**
	 *  修改用户
	 * @param entity
	 * @throws RDPException
	 * @date: 2014年9月18日
	 */
	public void  updateUser(SecUsrEntity entity)throws RDPException;
	
	/**
	 *  删除用户
	 * @param entity
	 * @throws RDPException
	 * @date: 2014年9月18日
	 */
	public void  deleteUser(SecUsrEntity entity)throws RDPException;
	
	/**
	 * 获取用户的所有权限
	 * @param userId
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月18日
	 */
	public List<SecObj2usrEntity> findByUserIdObjAll( String userId)throws RDPException;
	
	/***
	 * 获取用户所属的角色
	 * @param userId
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月18日
	 */
	public List<String>  findByUserIdRoleAll(String userId)throws RDPException;
	
	/**
	 * 重置密码
	 * @param userId
	 * @throws RDPException
	 * @date: 2014年9月19日
	 */
	public int updateResetPass(String userId ,String updateUserId)throws RDPException;
	
	/**
	 * 删除用户
	 * @param userId
	 * @throws RDPException
	 * @date: 2014年9月19日
	 */
	public void deleteUser(String userId,String updateUserId)throws RDPException;

}
